home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oh!X 2001 Spring
/
Oh!X 2001 Spring Special CD-ROM (Japan).7z
/
Oh!X 2001 Spring Special CD-ROM (Japan) (Track 1).bin
/
GALAXY
/
ohx5-2
/
mapctrl.h
< prev
next >
Wrap
C/C++ Source or Header
|
2000-12-30
|
1KB
|
56 lines
//
// GalaxyKnights
// マップ制御:ヘッダー
//
#define MAX_SHAPES 100
struct shape {
int type; // 形状
ID3DXMesh* pt; // 形状のデータへのポインタ
DWORD mats; // XFILEマテリアル数
float scale; // スケーリング値
D3DMATERIAL8* lpmmats;
LPDIRECT3DTEXTURE8* lpmtexs;
};
typedef struct shape shapes;
struct obj3d {
DWORD type; // 外見
D3DXVECTOR3 pos; // 位置
D3DXVECTOR3 move; // 移動ベクトル
D3DXVECTOR3 rudder; // 向き
D3DXVECTOR3 rotate; // 回転ベクトル
char *eventname; // イベントラベル(解釈後は参照されない)
DWORD eventpt; // ラベルを解釈した結果(解釈されていないときは0)
obj3d *next,*back; // 構造体リンクのためのポインタ
};
typedef struct obj3d OBJ3D;
enum shape_data {
SHAPE_DONE, // 形状データ終了
SIMPLE_CUBE, // 立方体
SIMPLE_SPHERE, // 球
SIMPLE_CYLINDER, // シリンダー
SIMPLE_TORUS, // トーラス
FILE_DATA // ファイルデータ・Lightwave3D形式を予定
};
EXT DWORD max_shapes;
EXT OBJ3D *objtop;
EXT shapes shapelist[MAX_SHAPES];
EXT D3DXVECTOR3 camera_pos;
EXT D3DXVECTOR3 camera_rud;
void init_shapes(void);
void init_objects(void);
void init_player(void);
void release_shapes(void);
void release_objects(void);
void player_drive(void);
OBJ3D *make_object(DWORD);
void delete_object(OBJ3D*);
void command_player( OBJ3D *, DWORD );